The instant specification relates generally to indexing and data storage in the context of information retrieval and, more particularly, to improving data storage and retrieval such that random sampling of a directed graph, as well as other graph traversal techniques, can be implemented at scale on a real-time social platform.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process, store, and communicate information. One option available to users is a messaging platform. A messaging platform is a platform for exchanging messages between users of the platform. The platform generally also maintains servers to process, compile, store, index, retrieve, and/or communicate information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. One kind of messaging platform is a social media platform, where content—which can be implemented, for example, in the form of text strings, emojis, images, video, audio, live streams, and any of their combinations—is distributed according to a directed graph in which there are nodes and edges. One example of a directed graph is a link graph where nodes represent Web pages and edges represent in and out links. Another example of a directed graph is a follow graph where nodes represent users and edges represent relationships between or among users (i.e., an edge pointing from node A to node B represents a relationship in which user A follows user B).
Messaging platforms typically index and store content and, in response to a user submitted query, retrieve content determined to be of interest to the user. In order to enhance user experience, however, a messaging platform can also recommend content or users to a user without a user making a request. For example, a messaging platform can recommend that a user connects with another user on the platform. The messaging platform can also recommend particular content to a user. To further enhance the user experience, the content or user recommendations can be specifically tailored to the particular user.
One example of when recommendations can be particularly useful to a user is when a user is new to a messaging platform and is not connected to many other users and has not interacted with a great deal of content. It can be particularly burdensome for new users to locate other users or content, particularly on a mobile application of a messaging platform.